package zw_501_600.zw_594_最长和谐子序列;

import java.util.Arrays;
import java.util.HashMap;

class Solution {

    public static void main(String[] args) {
        int[] nums = {1, 3, 2, 2, 5, 2, 3, 7};
        int lhs = findLHS(nums);
        System.out.println(lhs);
    }


    public static int findLHS(int[] nums) {
        HashMap<Integer, Integer> map = new HashMap<>();
        int ans = 0;
        for (int num : nums) {
            map.put(num, map.getOrDefault(num, 0) + 1);
        }
        for (int key : map.keySet()) {
            if (map.containsKey(key + 1)) {
                ans = ans > (map.get(key) + map.get(key + 1)) ? ans : (map.get(key) + map.get(key + 1));
            }
        }
        return ans;
    }

//    public static int findLHS(int[] nums) {
//        Arrays.sort(nums);
//        int begin = 0;
//        int ans = 0;
//        for (int end = 0; end < nums.length; end++) {
//            while (nums[end] - nums[begin] > 1) {
//                begin++;
//            }
//            if (nums[end] - nums[begin] == 1) {
//                ans = ans > (end - begin + 1) ? ans : (end - begin + 1);
//            }
//        }
//        return ans;
//    }

}
